Remove separators from dialogs
authorMatthias Clasen <mclasen@redhat.com>
Thu, 2 Sep 2010 13:11:23 +0000 (09:11 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 2 Sep 2010 13:14:20 +0000 (09:14 -0400)
It seems more reasonable to remove this feature than to keep fighting
off every separator that pops up by accident in a dialog.

14 files changed:
gtk/gtk.symbols
gtk/gtkaboutdialog.c
gtk/gtkcolorseldialog.c
gtk/gtkcustompaperunixdialog.c
gtk/gtkdialog.c
gtk/gtkdialog.h
gtk/gtkfilechooserdialog.c
gtk/gtkfontsel.c
gtk/gtkmessagedialog.c
gtk/gtkmountoperation.c
gtk/gtkpagesetupunixdialog.c
gtk/gtkprintbackend.c
gtk/gtkprintunixdialog.c
gtk/gtkrecentchooserdialog.c

index 300aa4d0bde1d8d07990b7f76f7a8c95aff9538b..c6f75ff3fa9a18891d9cc3ecf3caf6ccbea6c61f 100644 (file)
@@ -910,7 +910,6 @@ gtk_dialog_add_button
 gtk_dialog_add_buttons G_GNUC_NULL_TERMINATED
 gtk_dialog_get_action_area
 gtk_dialog_get_content_area
-gtk_dialog_get_has_separator
 gtk_dialog_get_widget_for_response
 gtk_dialog_get_response_for_widget
 gtk_dialog_get_type G_GNUC_CONST
@@ -922,7 +921,6 @@ gtk_alternative_dialog_button_order
 gtk_dialog_set_alternative_button_order
 gtk_dialog_set_alternative_button_order_from_array
 gtk_dialog_set_default_response
-gtk_dialog_set_has_separator
 gtk_dialog_set_response_sensitive
 #endif
 #endif
index 388b69abe12b3f97d8672873aa02d3078f51c590..6a5925f5518294301db717eae9517462b6bc847e 100644 (file)
@@ -631,7 +631,6 @@ gtk_about_dialog_init (GtkAboutDialog *about)
   content_area = gtk_dialog_get_content_area (dialog);
   action_area = gtk_dialog_get_action_area (dialog);
 
-  gtk_dialog_set_has_separator (dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
@@ -2219,7 +2218,6 @@ display_credits_dialog (GtkWidget *button,
   content_area = gtk_dialog_get_content_area (credits_dialog);
   action_area = gtk_dialog_get_action_area (credits_dialog);
 
-  gtk_dialog_set_has_separator (credits_dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (credits_dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
@@ -2302,7 +2300,6 @@ display_license_dialog (GtkWidget *button,
   content_area = gtk_dialog_get_content_area (license_dialog);
   action_area = gtk_dialog_get_action_area (license_dialog);
 
-  gtk_dialog_set_has_separator (license_dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (license_dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
index d225ef1517c9ebbc16ecd0d044ca1e2debb8c2d2..8f4d746b6ba401f4d21b756079014e7ee9af6d01 100644 (file)
@@ -151,7 +151,6 @@ gtk_color_selection_dialog_init (GtkColorSelectionDialog *colorseldiag)
   content_area = gtk_dialog_get_content_area (dialog);
   action_area = gtk_dialog_get_action_area (dialog);
 
-  gtk_dialog_set_has_separator (dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
@@ -188,8 +187,6 @@ gtk_color_selection_dialog_init (GtkColorSelectionDialog *colorseldiag)
 
   gtk_window_set_title (GTK_WINDOW (colorseldiag),
                         _("Color Selection"));
-
-  _gtk_dialog_set_ignore_separator (dialog, TRUE);
 }
 
 GtkWidget*
index ffd23e8d31a8f8120a28d9eb9bc742c92c3ac074..79bc61086d5d366b2a5eebb423243fa2bcb7eeb3 100644 (file)
@@ -976,7 +976,6 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog)
   content_area = gtk_dialog_get_content_area (cpu_dialog);
   action_area = gtk_dialog_get_action_area (cpu_dialog);
 
-  gtk_dialog_set_has_separator (cpu_dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
index fd8180bdfec2301466723711125bfcf19eb90455..6517eff02babf335be750da6807d1af7c72a0a84 100644 (file)
@@ -31,7 +31,6 @@
 #include "gtkdialog.h"
 #include "gtkhbbox.h"
 #include "gtklabel.h"
-#include "gtkhseparator.h"
 #include "gtkmarshalers.h"
 #include "gtkvbox.h"
 #include "gdkkeysyms.h"
@@ -46,10 +45,6 @@ struct _GtkDialogPrivate
 {
   GtkWidget *vbox;
   GtkWidget *action_area;
-
-  GtkWidget *separator;
-
-  guint ignore_separator : 1;
 };
 
 typedef struct _ResponseData ResponseData;
@@ -66,15 +61,6 @@ static void      gtk_dialog_add_buttons_valist   (GtkDialog    *dialog,
 static gboolean  gtk_dialog_delete_event_handler (GtkWidget    *widget,
                                                   GdkEventAny  *event,
                                                   gpointer      user_data);
-
-static void      gtk_dialog_set_property         (GObject      *object,
-                                                  guint         prop_id,
-                                                  const GValue *value,
-                                                  GParamSpec   *pspec);
-static void      gtk_dialog_get_property         (GObject      *object,
-                                                  guint         prop_id,
-                                                  GValue       *value,
-                                                  GParamSpec   *pspec);
 static void      gtk_dialog_style_set            (GtkWidget    *widget,
                                                   GtkStyle     *prev_style);
 static void      gtk_dialog_map                  (GtkWidget    *widget);
@@ -124,32 +110,16 @@ gtk_dialog_class_init (GtkDialogClass *class)
   GObjectClass *gobject_class;
   GtkWidgetClass *widget_class;
   GtkBindingSet *binding_set;
-  
+
   gobject_class = G_OBJECT_CLASS (class);
   widget_class = GTK_WIDGET_CLASS (class);
-  
-  gobject_class->set_property = gtk_dialog_set_property;
-  gobject_class->get_property = gtk_dialog_get_property;
-  
+
   widget_class->map = gtk_dialog_map;
   widget_class->style_set = gtk_dialog_style_set;
 
   class->close = gtk_dialog_close;
-  
-  g_type_class_add_private (gobject_class, sizeof (GtkDialogPrivate));
 
-  /**
-   * GtkDialog:has-separator:
-   *
-   * When %TRUE, the dialog has a separator bar above its buttons.
-   */
-  g_object_class_install_property (gobject_class,
-                                   PROP_HAS_SEPARATOR,
-                                   g_param_spec_boolean ("has-separator",
-                                                        P_("Has separator"),
-                                                        P_("The dialog has a separator bar above its buttons"),
-                                                         TRUE,
-                                                         GTK_PARAM_READWRITE));
+  g_type_class_add_private (gobject_class, sizeof (GtkDialogPrivate));
 
   /**
    * GtkDialog::response:
@@ -278,8 +248,6 @@ gtk_dialog_init (GtkDialog *dialog)
                                               GtkDialogPrivate);
   priv = dialog->priv;
 
-  priv->ignore_separator = FALSE;
-
   /* To avoid breaking old code that prevents destroy on delete event
    * by connecting a handler, we have to have the FIRST signal
    * connection on the dialog.
@@ -303,10 +271,6 @@ gtk_dialog_init (GtkDialog *dialog)
                     FALSE, TRUE, 0);
   gtk_widget_show (priv->action_area);
 
-  priv->separator = gtk_hseparator_new ();
-  gtk_box_pack_end (GTK_BOX (priv->vbox), priv->separator, FALSE, TRUE, 0);
-  gtk_widget_show (priv->separator);
-
   gtk_window_set_type_hint (GTK_WINDOW (dialog),
                            GDK_WINDOW_TYPE_HINT_DIALOG);
   gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER_ON_PARENT);
@@ -340,49 +304,6 @@ gtk_dialog_buildable_get_internal_child (GtkBuildable *buildable,
                                                      childname);
 }
 
-static void 
-gtk_dialog_set_property (GObject      *object,
-                         guint         prop_id,
-                         const GValue *value,
-                         GParamSpec   *pspec)
-{
-  GtkDialog *dialog;
-  
-  dialog = GTK_DIALOG (object);
-  
-  switch (prop_id)
-    {
-    case PROP_HAS_SEPARATOR:
-      gtk_dialog_set_has_separator (dialog, g_value_get_boolean (value));
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-static void 
-gtk_dialog_get_property (GObject     *object,
-                         guint        prop_id,
-                         GValue      *value,
-                         GParamSpec  *pspec)
-{
-  GtkDialog *dialog = GTK_DIALOG (object);
-  GtkDialogPrivate *priv = dialog->priv;
-  
-  switch (prop_id)
-    {
-    case PROP_HAS_SEPARATOR:
-      g_value_set_boolean (value, priv->separator != NULL);
-      break;
-
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
 static gboolean
 gtk_dialog_delete_event_handler (GtkWidget   *widget,
                                  GdkEventAny *event,
@@ -534,13 +455,10 @@ gtk_dialog_new_empty (const gchar     *title,
 
   if (flags & GTK_DIALOG_MODAL)
     gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
-  
+
   if (flags & GTK_DIALOG_DESTROY_WITH_PARENT)
     gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
 
-  if (flags & GTK_DIALOG_NO_SEPARATOR)
-    gtk_dialog_set_has_separator (dialog, FALSE);
-  
   return GTK_WIDGET (dialog);
 }
 
@@ -872,69 +790,6 @@ gtk_dialog_set_default_response (GtkDialog *dialog,
   g_list_free (children);
 }
 
-/**
- * gtk_dialog_set_has_separator:
- * @dialog: a #GtkDialog
- * @setting: %TRUE to have a separator
- *
- * Sets whether the dialog has a separator above the buttons.
- * %TRUE by default.
- **/
-void
-gtk_dialog_set_has_separator (GtkDialog *dialog,
-                              gboolean   setting)
-{
-  GtkDialogPrivate *priv;
-
-  g_return_if_fail (GTK_IS_DIALOG (dialog));
-
-  priv = dialog->priv;
-
-  /* this might fail if we get called before _init() somehow */
-  g_assert (priv->vbox != NULL);
-
-  if (priv->ignore_separator)
-    {
-      g_warning ("Ignoring the separator setting");
-      return;
-    }
-  
-  if (setting && priv->separator == NULL)
-    {
-      priv->separator = gtk_hseparator_new ();
-      gtk_box_pack_end (GTK_BOX (priv->vbox), priv->separator, FALSE, TRUE, 0);
-
-      /* The app programmer could screw this up, but, their own fault.
-       * Moves the separator just above the action area.
-       */
-      gtk_box_reorder_child (GTK_BOX (priv->vbox), priv->separator, 1);
-      gtk_widget_show (priv->separator);
-    }
-  else if (!setting && priv->separator != NULL)
-    {
-      gtk_widget_destroy (priv->separator);
-      priv->separator = NULL;
-    }
-
-  g_object_notify (G_OBJECT (dialog), "has-separator");
-}
-
-/**
- * gtk_dialog_get_has_separator:
- * @dialog: a #GtkDialog
- * 
- * Accessor for whether the dialog has a separator.
- * 
- * Return value: %TRUE if the dialog has a separator
- **/
-gboolean
-gtk_dialog_get_has_separator (GtkDialog *dialog)
-{
-  g_return_val_if_fail (GTK_IS_DIALOG (dialog), FALSE);
-
-  return dialog->priv->separator != NULL;
-}
-
 /**
  * gtk_dialog_response:
  * @dialog: a #GtkDialog
@@ -1136,15 +991,6 @@ gtk_dialog_run (GtkDialog *dialog)
   return ri.response_id;
 }
 
-void
-_gtk_dialog_set_ignore_separator (GtkDialog *dialog,
-                                 gboolean   ignore_separator)
-{
-  GtkDialogPrivate *priv = dialog->priv;
-
-  priv->ignore_separator = ignore_separator;
-}
-
 /**
  * gtk_dialog_get_widget_for_response:
  * @dialog: a #GtkDialog
index 5394209aa0a6cabe339f0a8134f48dd02ad7850e..9069d22fc8d34363a870dc8907e6218031e22c1b 100644 (file)
@@ -41,8 +41,7 @@ G_BEGIN_DECLS
 typedef enum
 {
   GTK_DIALOG_MODAL               = 1 << 0, /* call gtk_window_set_modal (win, TRUE) */
-  GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1, /* call gtk_window_set_destroy_with_parent () */
-  GTK_DIALOG_NO_SEPARATOR        = 1 << 2  /* no separator bar above buttons */
+  GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1  /* call gtk_window_set_destroy_with_parent () */
 } GtkDialogFlags;
 
 /* Convenience enum to use for response_id's.  Positive values are
@@ -150,10 +149,6 @@ GtkWidget* gtk_dialog_get_widget_for_response (GtkDialog *dialog,
 gint gtk_dialog_get_response_for_widget (GtkDialog *dialog,
                                         GtkWidget *widget);
 
-void     gtk_dialog_set_has_separator (GtkDialog *dialog,
-                                       gboolean   setting);
-gboolean gtk_dialog_get_has_separator (GtkDialog *dialog);
-
 gboolean gtk_alternative_dialog_button_order (GdkScreen *screen);
 void     gtk_dialog_set_alternative_button_order (GtkDialog *dialog,
                                                  gint       first_response_id,
@@ -172,10 +167,6 @@ gint gtk_dialog_run                (GtkDialog *dialog);
 GtkWidget * gtk_dialog_get_action_area  (GtkDialog *dialog);
 GtkWidget * gtk_dialog_get_content_area (GtkDialog *dialog);
 
-/* For private use only */
-void _gtk_dialog_set_ignore_separator (GtkDialog *dialog,
-                                      gboolean   ignore_separator);
-
 G_END_DECLS
 
 #endif /* __GTK_DIALOG_H__ */
index 246f10310d7598b91b19b3d1a813a145d8ff9eca..06818c8c0978b70f232cc50b9e7438b165a86fa4 100644 (file)
@@ -92,7 +92,6 @@ gtk_file_chooser_dialog_init (GtkFileChooserDialog *dialog)
   content_area = gtk_dialog_get_content_area (fc_dialog);
   action_area = gtk_dialog_get_action_area (fc_dialog);
 
-  gtk_dialog_set_has_separator (fc_dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (fc_dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
index f1a509cab162b96ad540b7aa7b600052e0e0f1e7..24331b557c239be17084b0ef578c7f0e4abadebe 100644 (file)
@@ -1618,7 +1618,6 @@ gtk_font_selection_dialog_init (GtkFontSelectionDialog *fontseldiag)
   content_area = gtk_dialog_get_content_area (dialog);
   action_area = gtk_dialog_get_action_area (dialog);
 
-  gtk_dialog_set_has_separator (dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
@@ -1660,8 +1659,6 @@ gtk_font_selection_dialog_init (GtkFontSelectionDialog *fontseldiag)
                         _("Font Selection"));
 
   gtk_widget_pop_composite_child ();
-
-  _gtk_dialog_set_ignore_separator (dialog, TRUE);
 }
 
 /**
index 5458bd54f1b7a8ab3e21be02b96de7d31f4641b8..62bbe070cb57dbc39915bcff4b59babecf5e4bff 100644 (file)
@@ -187,20 +187,7 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class)
                                                              G_MAXINT,
                                                              12,
                                                              GTK_PARAM_READABLE));
-  /**
-   * GtkMessageDialog:use-separator:
-   *
-   * Whether to draw a separator line between the message label and the buttons
-   * in the dialog.
-   *
-   * Since: 2.4
-   */
-  gtk_widget_class_install_style_property (widget_class,
-                                          g_param_spec_boolean ("use-separator",
-                                                                P_("Use separator"),
-                                                                P_("Whether to put a separator between the message dialog's text and the buttons"),
-                                                                FALSE,
-                                                                GTK_PARAM_READABLE));
+
   /**
    * GtkMessageDialog:message-type:
    *
@@ -386,8 +373,6 @@ gtk_message_dialog_init (GtkMessageDialog *dialog)
   gtk_box_set_spacing (GTK_BOX (action_area), 6);
 
   gtk_widget_show_all (hbox);
-
-  _gtk_dialog_set_ignore_separator (GTK_DIALOG (dialog), TRUE);
 }
 
 static void
@@ -616,12 +601,6 @@ gtk_message_dialog_new (GtkWindow     *parent,
                         NULL);
   dialog = GTK_DIALOG (widget);
 
-  if (flags & GTK_DIALOG_NO_SEPARATOR)
-    {
-      g_warning ("The GTK_DIALOG_NO_SEPARATOR flag cannot be used for GtkMessageDialog");
-      flags &= ~GTK_DIALOG_NO_SEPARATOR;
-    }
-
   if (message_format)
     {
       va_start (args, message_format);
@@ -1001,7 +980,6 @@ gtk_message_dialog_style_set (GtkWidget *widget,
                               GtkStyle  *prev_style)
 {
   GtkMessageDialog *dialog = GTK_MESSAGE_DIALOG (widget);
-  gboolean use_separator;
   GtkWidget *parent;
   gint border_width;
 
@@ -1016,14 +994,6 @@ gtk_message_dialog_style_set (GtkWidget *widget,
                                       MAX (0, border_width - 7));
     }
 
-  gtk_widget_style_get (widget,
-                       "use-separator", &use_separator,
-                       NULL);
-
-  _gtk_dialog_set_ignore_separator (GTK_DIALOG (widget), FALSE);
-  gtk_dialog_set_has_separator (GTK_DIALOG (widget), use_separator);
-  _gtk_dialog_set_ignore_separator (GTK_DIALOG (widget), TRUE);
-
   setup_primary_label_font (dialog);
 
   GTK_WIDGET_CLASS (gtk_message_dialog_parent_class)->style_set (widget, prev_style);
index c2489ce59dc30a4dce8ef0e5aaa92962b8e6cee4..f3e1cca24a6647cd540e63e07c0511e218fba0c0 100644 (file)
@@ -477,7 +477,6 @@ gtk_mount_operation_ask_password (GMountOperation   *mount_op,
   action_area = gtk_dialog_get_action_area (dialog);
 
   /* Set the dialog up with HIG properties */
-  gtk_dialog_set_has_separator (dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
@@ -1217,7 +1216,6 @@ create_show_processes_dialog (GMountOperation *op,
   if (priv->parent_window != NULL)
     gtk_window_set_transient_for (GTK_WINDOW (dialog), priv->parent_window);
   gtk_window_set_title (GTK_WINDOW (dialog), "");
-  gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
 
   content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
   vbox = gtk_vbox_new (FALSE, 12);
index 49a24d3dbd46fec027b434df5a91598bfdb3b820..a7c75b5094eda2af3c9f5911a24089373dfb9844 100644 (file)
@@ -894,7 +894,6 @@ populate_dialog (GtkPageSetupUnixDialog *ps_dialog)
   content_area = gtk_dialog_get_content_area (dialog);
   action_area = gtk_dialog_get_action_area (dialog);
 
-  gtk_dialog_set_has_separator (dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
index 79a829a1e1b7f242e6be17e78e52c1706ce3a847..c212bece8dc2911d4a3b1c730d0abaca673e3aa9 100644 (file)
@@ -748,7 +748,6 @@ request_password (GtkPrintBackend  *backend,
                                          NULL);
 
   gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
-  gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
 
   main_box = gtk_hbox_new (FALSE, 0);
 
index f4ce65620adc261c3a9cce25933d8ddc49be922f..d0cdae8c8c5f4e6ee9a43261b60cc7b11843ad1e 100644 (file)
@@ -3796,7 +3796,6 @@ populate_dialog (GtkPrintUnixDialog *print_dialog)
   content_area = gtk_dialog_get_content_area (dialog);
   action_area = gtk_dialog_get_action_area (dialog);
 
-  gtk_dialog_set_has_separator (dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
index 03de36c4066689fd49ab41a441182ba00c1be812..9825ac8ca2d5c3306771002d976f789667794c14 100644 (file)
@@ -143,7 +143,6 @@ gtk_recent_chooser_dialog_init (GtkRecentChooserDialog *dialog)
   content_area = gtk_dialog_get_content_area (rc_dialog);
   action_area = gtk_dialog_get_action_area (rc_dialog);
 
-  gtk_dialog_set_has_separator (rc_dialog, FALSE);
   gtk_container_set_border_width (GTK_CONTAINER (rc_dialog), 5);
   gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */
   gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);